1
ขอบเขตแบบสถานที่และอายุการใช้งานของวัตถุอัตโนมัติ
AI037Lesson 9
00:00

ในเวทีใหญ่ของโปรแกรมซีพลัสพลัส วัตถุต่าง ๆ คล้ายกับนักแสดง บางตัวอยู่บนเวทีตลอดทั้งเรื่อง แต่ส่วนใหญ่— วัตถุท้องถิ่น—เป็นสิ่งที่มีชีวิตเพียงช่วงเวลาหนึ่งแล้วหายไปอย่างถาวร บทเรียนนี้สร้างความแตกต่างพื้นฐานระหว่างความสามารถในการมองเห็นของวัตถุ (ขอบเขต) กับการมีอยู่จริง (อายุการใช้งาน) ความสามารถในการมองเห็น (ขอบเขต) และการมีอยู่จริงของมัน การมีอยู่จริง (อายุการใช้งาน)

1. ขอบเขตเชิงคำศัพท์ เทียบกับ อายุการใช้งานในขณะทำงาน

ขอบเขต ของชื่อ เป็นคุณสมบัติที่กำหนดในขั้นตอนการคอมไพล์: หมายถึงบริเวณของโค้ดโปรแกรมที่ชื่อนั้นสามารถใช้งานได้ ในทางกลับกัน of a name is a compile-time property: it is the region of the program text where a name is usable. Conversely, อายุการใช้งาน เป็นคุณสมบัติที่เกิดขึ้นในระหว่างการทำงาน: ระยะเวลาที่วัตถุนั้นใช้พื้นที่หน่วยความจำจริง เป็นคุณสมบัติที่เกิดขึ้นในระหว่างการทำงาน: ระยะเวลาที่วัตถุนั้นใช้พื้นที่หน่วยความจำจริง

รหัสแหล่งที่มา (ขอบเขต){int i = 42;cout << i;}สแตกหน่วยความจำ (อายุการใช้งาน)i: 42เฟรมอื่น ๆการสร้างวัตถุออกจากการบล็อก / นำออก

2. วัตถุอัตโนมัติ

วัตถุที่มีอยู่เฉพาะเมื่อบล็อกกำลังทำงานคือ วัตถุอัตโนมัติพวกเขาถูกสร้างขึ้นเมื่อควบคุมผ่านจุดที่กำหนด (int n = 0;) และถูกทำลายเมื่อปิดเครื่องหมายวงเล็บ (}) ถึงจุดสิ้นสุด พารามิเตอร์ถือว่าเป็นตัวแปรท้องถิ่นที่ได้รับค่าจากอาร์กิวเมนต์

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>